Describes the underlying theory as well as algorithms, optimisation ideas and implementation details. Includes numerous examples and exercises.[...]